<!DOCTYPE html>
<html>
<head>
	<title>Browser Dialer</title>
</head>
<body>
	<script>
		// Copyright (c) 2021 XRAY. Mozilla Public License 2.0.
		var url = "ws://" + window.location.host + "/websocket"
		var count = 0
		setInterval(check, 1000)
		function check() {
			if (count <= 0) {
				count += 1
				console.log("Prepare", url)
				var ws = new WebSocket(url)
				var wss = undefined
				var first = true
				ws.onmessage = function (event) {
					if (first) {
						first = false
						count -= 1
						var arr = event.data.split(" ")
						console.log("Dial", arr[0], arr[1])
						wss = new WebSocket(arr[0], arr[1])
						var opened = false
						wss.onopen = function (event) {
							opened = true
							ws.send("ok")
						}
						wss.onmessage = function (event) {
							ws.send(event.data)
						}
						wss.onclose = function (event) {
							ws.close()
						}
						wss.onerror = function (event) {
							!opened && ws.send("fail")
							wss.close()
						}
						check()
					} else wss.send(event.data)
				}
				ws.onclose = function (event) {
					if (first) count -= 1
					else wss.close()
				}
				ws.onerror = function (event) {
					ws.close()
				}
			}
		}
	</script>
</body>
</html>
